home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / nt / source.exe / POSIX / SH / STD / STDC / LIMITS.H < prev    next >
C/C++ Source or Header  |  1992-07-13  |  983b  |  39 lines

  1. /* Implementation-defined limits */
  2.  
  3. #if __STDC__
  4. #define    Signed    signed
  5. #else
  6. #define    Signed    
  7. #endif
  8.  
  9. #define    CHAR_BIT    8
  10.  
  11. #define    _S_MIN(type)    (-(Signed type)((unsigned type) ~0 >> 1) - 1)
  12. #define    _S_MAX(type)    ((Signed type)((unsigned type) ~0 >> 1))
  13.  
  14. #define    UCHAR_MIN    ((unsigned char) 0)
  15. #define    UCHAR_MAX    ((unsigned char) ~0)
  16. #define    SCHAR_MIN    _S_MIN(char)
  17. #define    SCHAR_MAX    _S_MAX(char)
  18.  
  19. /* some PCC compilers don't like the "elegant" definition of _UCHAR */
  20. /* let the poor user provide -D_UCHAR=0 or 1 */
  21. #ifndef _UCHAR
  22. #define    _UCHAR        ((char) ~0 == (unsigned char) ~0)
  23. #endif
  24. #define    CHAR_MIN    (_UCHAR ? UCHAR_MIN : SCHAR_MIN)
  25. #define    CHAR_MAX    (_UCHAR ? UCHAR_MAX : SCHAR_MAX)
  26.  
  27. #define    USHRT_MAX    ((unsigned short) ~0)
  28. #define    SHRT_MIN    _S_MIN(short)
  29. #define    SHRT_MAX    _S_MAX(short)
  30.  
  31. #define    UINT_MAX    ((unsigned int) ~0)
  32. #define    INT_MIN        _S_MIN(int)
  33. #define    INT_MAX        _S_MAX(int)
  34.  
  35. #define    ULONG_MAX    ((unsigned long) ~0)
  36. #define    LONG_MIN    _S_MIN(long)
  37. #define    LONG_MAX    _S_MAX(long)
  38.  
  39.